#pragma once

#include "IResourceFile.h"

typedef std::map<std::string, int> ZipContentsMap;		// maps path to a zip content id

class DevelopmentResourceFile : public IResourceFile
{
	public:
		
		std::wstring _assetsDir;

		std::vector<WIN32_FIND_DATA> _assetFileInfo;

		ZipContentsMap _directoryContentsMap;

		DevelopmentResourceFile(const std::wstring resFileName);

		virtual bool Open();
		
		virtual int GetRawResourceSize(const Resource &r);
		
		virtual int GetRawResource(const Resource &r, char *buffer);
		
		virtual int GetNumResources() const;
		
		virtual std::string GetResourceName(int num) const;

		int Find(const std::string &path);

	protected:

		void ReadAssetsDirectory(std::wstring fileSpec);
};